home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / glibmm-2.4 / proc / m4 / ctor.m4 < prev    next >
M4 Source File  |  2006-04-20  |  2KB  |  65 lines

  1. dnl $Id: ctor.m4,v 1.1.1.1 2003/01/07 16:59:09 murrayc Exp $
  2.  
  3. dnl
  4. dnl
  5. dnl  Code generation sections for making a constructor.
  6. dnl
  7. dnl
  8.  
  9. dnl
  10. dnl Declares and implements the default constructor
  11. dnl
  12. define(`_CTOR_DEFAULT',`dnl
  13. __CPPNAME__`'();
  14. _PUSH(SECTION_CC)
  15. __CPPNAME__::__CPPNAME__`'()
  16. :
  17.   Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
  18.   __CPPPARENT__`'(Glib::ConstructParams(__BASE__`'_class_.init()))
  19. {
  20.   _IMPORT(SECTION_CC_INITIALIZE_CLASS_EXTRA)
  21. }
  22.  
  23. _POP()')                     
  24.  
  25.  
  26. dnl
  27. dnl Constructors for _new functions.
  28. dnl               $1      $2    $3     $4
  29. dnl  _CTOR_IMPL(cppname,cname,cppargs,c_varargs)
  30. define(`_CTOR_IMPL',`dnl
  31. _PUSH(SECTION_CC)
  32. __CPPNAME__::$1`'($3)
  33. :
  34.   Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
  35.   __CPPPARENT__`'(Glib::ConstructParams(__BASE__`'_class_.init()`'ifelse(`$4',,,`, $4')`', (char*) 0))
  36. {
  37.   _IMPORT(SECTION_CC_INITIALIZE_CLASS_EXTRA)
  38. }
  39.  
  40. _POP()')
  41.  
  42. define(`_CONSTRUCT',`dnl
  43. Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
  44.   __CPPPARENT__`'(Glib::ConstructParams(__BASE__`'_class_.init()ifelse(`$1',,,`, $@'), (char*) 0))dnl
  45. ')dnl
  46.  
  47. dnl _CONSTRUCT() does not deal with multiple class definitions in one file.
  48. dnl If necessary, _CONSTRUCT_SPECIFIC(BaseClass, Class) must be used instead.
  49. dnl
  50. define(`_CONSTRUCT_SPECIFIC',`dnl
  51. Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations.
  52.   $1`'(Glib::ConstructParams(_LOWER($2)_class_.init()ifelse(`$3',,,`, shift(shift($@))'), (char*) 0))dnl
  53. ')dnl
  54.  
  55.  
  56. dnl
  57. dnl Extra code for initialize_class.
  58. dnl Not commonly used.
  59. dnl
  60. define(`_INITIALIZE_CLASS_EXTRA',`dnl
  61. _PUSH(SECTION_CC_INITIALIZE_CLASS_EXTRA)
  62. $1
  63. _POP()')
  64.  
  65.